서버에 여러 개의 키페어로 접속할 수 있도록 설정해보기

서버에 여러 개의 키페어로 접속할 수 있도록 설정해보기

Clock Icon2024.07.03

안녕하세요, 임채정입니다.
여러분 EC2 인스턴스에 SSH접속을 할 때 키페어 사용하고 계시죠?
인스턴스를 생성할 때 키페어를 설정하면 그 키페어의 퍼블릭키가 인스턴스 안에 저장하게 되고 사용자는 사용자가 가지고 있는 프라이빗 키를 사용해서 인스턴스에 접속할 수 있습니다.

기본적으로 인스턴스 하나에는 키페어 하나를 설정한다고 생각하지만 혹시 하나가 아니라 복수의 키페어를 사용하는 것도 가능할까 싶어서 테스트 해봤습니다.
정확히 말하자면 인스턴스의 기본 유저인 ec2-user에 복수의 키페어의 설정이 가능한지 확인해보겠습니다.

오늘 하고 싶은 것

keykey0

복수의 사용자가 다른 키페어로 같은 인스턴스에 접속할 수 있도록 한다.

키페어 생성

먼저 키페어를 생성하겠습니다.

첫번째 키페어

  • 키페어 이름: First-key
  • 키페어 타입: RSA
  • 프라이빗 키 파일 형식: .pem

두번째 키페어

  • 키페어 이름: Second-key
  • 키페어 타입: RSA
  • 프라이빗 키 파일 형식: .pem

인스턴스의 생성

테스트를 위해서 인스턴스도 생성합니다.
인스턴스를 생성할 때는 키페어를 하나만 지정할 수 있기 때문에 먼저 첫번째 키페어만 설정하고 두번째 키페어는 인스턴스 생성 후에 직접 설정하겠습니다.

  • 인스턴스 이름: test-keypair
  • OS: Amazon Linux 2023
  • 인스턴스 유형: t2.micro (테스트)
  • 키페어: First-key
  • 세큐리티 그룹
    • 유형-SSH, port-22, 소스-내IP
  • 네트워크 설정: (생략)

인스턴스에 접속해서 두번째 키페어 설정

키페어와 인스턴스의 생성까지 끝났으면 이제 두번째 키페어도 설정하겠습니다.
먼저 두 번째 키페어의 프라이빗 키를 사용해서 퍼블릭 키를 취득합니다.

두 번째 키페어의 퍼블릭 키 취득
> ssh-keygen -y -f Second-key.pem
# 퍼블릭키의 취득값의 일부분은 y로 대체
# ssh-rsa AAAAB3yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuJKbbl09KQabp

다음으로 첫번째 키페어를 사용해서 인스턴스에 접속하겠습니다.

인스턴스에 접속

> ssh -i .ssh/First-key.pem ec2-user@xx.xx.xx.xx
The authenticity of host 'ec2-3-112-20-160.ap-northeast-1.compute.amazonaws.com (xx.xx.xx.xx)' can't be established.
ED25519 key fingerprint is SHA256:zmlNoAzZLrn6/xK5jJLylj5QDgf4AaZJnpZ1JcCO1sQ.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'ec2-xx.xx.xx.xx.ap-northeast-1.compute.amazonaws.com' (ED25519) to the list of known hosts.
   ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___   https://aws.amazon.com/linux/amazon-linux-2023
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'
[ec2-user@ip-10-11-0-224 ~]$

그 후에 인스턴스의 퍼블릭키가 저장되어 있는 ~/.ssh/authorized_keys 파일의 값을 수정합니다.

~/.ssh/authorized_keys (변경 전)
> cat  ~/.ssh/authorized_keys
# ssh-rsa AAAAB3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/M4dMdLecB/ lim-tokyo-key
~/.ssh/authorized_keys (변경 후)
> vi  ~/.ssh/authorized_keys
# 두번째 키페어의 퍼블릭 키 추가

# 변경 후 결과 확인
> cat  ~/.ssh/authorized_keys
# ssh-rsa AAAAB3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/M4dMdLecB/ lim-tokyo-key
# 
# ssh-rsa AAAAB3yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuJKbbl09KQabp

다음과 같이 두 개의 퍼블릭 키가 잘 출력되면 설정은 완료입니다.

결과

결과를 확인해보겠습니다.
ec2-user에 두 개의 퍼블릭키를 설정해놨으니까 첫번째, 두번째의 키페어 중에 뭐로 접속을 하든 인스턴스에 접속이 가능할 겁니다.

첫번째 키페어로 접속 테스트

> ssh -i .ssh/First-key.pem ec2-user@xx.xx.xx.xx
   ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___   https://aws.amazon.com/linux/amazon-linux-2023
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'
Last login: Tue Jul  2 07:35:34 2024 from zz.zz.zz.zz
[ec2-user@ip-cc.cc.cc.cc ~]$
두번째 키페어로 접속 테스트

> ssh -i .ssh/Second-key.pem.pem ec2-user@xx.xx.xx.xx
   ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___   https://aws.amazon.com/linux/amazon-linux-2023
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'
Last login: Tue Jul  2 07:36:03 2024 from zz.zz.zz.zz
[ec2-user@ip-cc.cc.cc.cc ~]$

두 개 모두 정상적으로 접속되었습니다.

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.